iSDIO

Last update: May 2018

"iSDIO" is an extended command of SD interface. It enables you advanced and precise control of wireless LAN function of FlashAir mounted on SD host device such as microcomputer board. FlashAir becomes the HTTP communication co-processor, as it were.

iSDIO is available in Firmware Versions 1.00.00+.

For firmware version 4.00.00, only SD mode is supported.

For firmware version 4.00.01+, iSDIO commands can be issued in SPI mode by using CMD17/24. For details on how to use, please click here.

About iSDIO

iSDIO (intelligent SDIO) is an SD Association standard used to control advanced SD memory cards, such as FlashAir.

Specifically, iSDIO is a process for passing commands back and forth between SD cards and host devices, based on specifications provided by "Addendums".

For example, FlashAir is compliant with the "Wireless LAN Addendum".

A simplified version of the iSDIO specification is available for download from the SD Association.

Issue iSDIO Command

In order to issue commands and receive its response, we’ll use the Extension Command Registers CMD49 (WRITE_EXTR_SINGLE) and CMD48 (READ_EXTR_SINGLE) which are defined in Function Extension Commands (class 11) of SD standard(*1).

CMD49 and CMD48 have three operation modes:

Register
Read/Write to memory with a specific address and length, used for small amounts of data like status updates.
Data Port
Read/Write a 512 byte fixed memory block, used for large amounts of data.
Mask Writing (CMD49 only)
Changes part of one specific byte, used for RESET status.

The iSDIO Wireless LAN Simplified Addendum regulates which mode should be used where (e.g. Register mode for address area A, Data Port mode for address area B).

Issue an iSDIO Command

To issue an iSDIO command will be achieved by writing a command data to the Command Write Register Port by using CMD49.

Typically, it will be done by the following two steps:

  1. Make a command data. It should be done on a memory of a host system.
  2. Write the command data to the Command Write Register Port by using CMD49.
    • You should use an SD read/write API provided by your system. See also Arduino Tutorial.

Please use CMD17, CMD24 instead of CMD48, CMD49 for iSDIO in SPI mode with firmware version 4.00.01+.

Read a response of the iSDIO Command

All of iSDIO commands operate asynchronously. So we need to poll its status and read a response of the command after the command finished.

In order to poll a status of an issued command, you need to read the Response Status Register.

If the function has finished, you can obtain a response of the command by reading the Response Data Register Port .

Command Reference

The following list is the command reference specified by the iSDIO Wireless LAN Addendum. This list does not contain functions that are not available on FlashAir.

Register Map

Please refer to register map for memory map of iSDIO of FlashAir.